/**
 * @description 右侧的属性容器
 */
import '@/style/attr.less'
import React from 'react';

import LoginAttr from './LoginAttr';
import RegisterAttr from './RegisterAttr';
import HeaderAttr from './HeaderAttr';
import MenuAttr from './MenuAttr';
import BannerAttr from './BannerAttr';
import HomeAttr from './HomeAttr';
import BreadAtrr from './BreadAtrr';
import ListAtrr from './ListAtrr';
import DetailAtrr from './DetailAtrr';
import NewslistAttr from './NewslistAttr';
import NewsdetailAtrr from './NewsdetailAtrr';
import ForumlistAttr from './ForumlistAttr';
import ForumdetailAtrr from './ForumdetailAtrr';
import AddAttr from './AddAttr';
import CenterAttr from './CenterAttr';

function AttrWrapper({ actKey, onConfigEvent, setIsRightAttr, login, register, header, menu, banner, home, bread, list, detail, newslist, newsdetail, forumlist, forumdetail, add, center }) {

  switch (actKey) {
    case 'login':
      return <LoginAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={login} />

    case 'register':
      return <RegisterAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={register} />

    case 'header':
      return <HeaderAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={header} />

    case 'menu':
      return <MenuAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={menu} />

    case 'banner':
      return <BannerAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={banner} />

    case 'bread':
      return <BreadAtrr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={bread} />

    case 'home':
      return <HomeAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={home} />

    case 'list':
      return <ListAtrr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={list} />

    case 'detail':
      return <DetailAtrr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={detail} />

    case 'newslist':
      return <NewslistAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={newslist} />

    case 'newsdetail':
      return <NewsdetailAtrr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={newsdetail} />

    case 'forumlist':
      return <ForumlistAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={forumlist} />

    case 'forumdetail':
      return <ForumdetailAtrr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={forumdetail} />

    case 'add':
      return <AddAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={add} />

    case 'center':
      return <CenterAttr onConfigEvent={onConfigEvent} setIsRightAttr={setIsRightAttr} actKey={actKey} template2={center} />

    default:
      return null
  }
}

export default React.memo(AttrWrapper) 